package com.ruoyi.patients.mapper;

import com.ruoyi.patients.domain.Conflict;
import com.ruoyi.patients.domain.Patients;

import java.util.List;

/**
 * 患者Mapper接口
 * 
 * @author ruoyi
 * @date 2025-04-12
 */
public interface PatientsMapper {
    /**
     * 查询患者
     * 
     * @param id 患者主键
     * @return 患者
     */
    public Patients selectPatientsById(Long id);

    /**
     * 查询患者列表
     * 
     * @param patients 患者
     * @return 患者集合
     */
    public List<Patients> selectPatientsList(Patients patients);

    /**
     * 新增患者
     * 
     * @param patients 患者
     * @return 结果
     */
    public int insertPatients(Patients patients);

    /**
     * 修改患者
     * 
     * @param patients 患者
     * @return 结果
     */
    public int updatePatients(Patients patients);

    /**
     * 删除患者
     * 
     * @param id 患者主键
     * @return 结果
     */
    public int deletePatientsById(Long id);

    /**
     * 批量删除患者
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deletePatientsByIds(Long[] ids);

    /**
     * 批量删除药品冲突
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteConflictByPatientsIds(Long[] ids);

    /**
     * 批量新增药品冲突
     * 
     * @param conflictList 药品冲突列表
     * @return 结果
     */
    public int batchConflict(List<Conflict> conflictList);

    /**
     * 通过患者主键删除药品冲突信息
     * 
     * @param id 患者ID
     * @return 结果
     */
    public int deleteConflictByPatientsId(Long id);

    /**
     * 查询患者药品冲突列表
     * 
     * @param patientsId 患者ID
     * @return 药品冲突列表
     */
    public List<Conflict> selectConflictList(Long patientsId);
}
